package com.example.springboot.config.anotation.autoware;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author:ChenZhangKun
 * @Date: 2023/6/18 15:26
 */
@Target({ElementType.FIELD,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface SuperAutowired {
    /**
     * 从类型注入Bean
     */
    Class<?> type() default Void.class;
    /**
     * 从配置文件等中获取该属性值作为Bean注入
     */
    String propValue() default "";

    /**
     * 自定义注入Bean
     */
    Class<? extends SuperAutowiredProxy>[] proxy() default {};

    String extData() default "";
}
